home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / dld-3_23.lha / dld-3.2.3 / ChangeLog < prev    next >
Text File  |  1991-05-30  |  9KB  |  281 lines

  1. Thu May 30 00:15:31 1991  W. Wilson Ho  (how at sundrops)
  2.  
  3.     * version 3.2.3 released.
  4.  
  5.     * update doc/dld.texinfo to reflect changes in 3.2.3.
  6.  
  7.     * replace CSE-90-25.ps by the more up-to-date SPE.ps.
  8.     
  9. Thu May 30 00:06:33 1991  Gnu Software Packages  (gnu at dudley)
  10.  
  11.     * in test/reload: put in hack so that it works on sequent symmetry.
  12.  
  13.     * dld.c: add conditionally compiled code for Sequent Symmetry.
  14.  
  15. Wed May 29 22:19:44 1991  W. Wilson Ho  (how at sundrops)
  16.  
  17.     * begin works for version 3.2.3.
  18.  
  19. Tue Nov 13 11:01:43 1990  W. Wilson Ho  (how at ivy)
  20.  
  21.     * put in my new email address in README and dld.texinfo.
  22.  
  23. Thu Nov  8 14:23:02 1990  W. Wilson Ho  (how at ivy)
  24.  
  25.     * merge in patch from Edgar Roeder that port dld to atari.
  26.  
  27.     * Version 3.2.2.
  28.  
  29. Mon Oct  1 11:30:14 1990  W. Wilson Ho  (how at sundrops)
  30.  
  31.     * Version 3.2.1 released.
  32.  
  33.     * rename file_executable.c to file_exec.c
  34.          list_undefined.c to list_undef.c
  35.          unlink_file.c to ul_file.c
  36.          unlink_symbol.c to ul_symbol.c
  37.  
  38.     * add error.c: dld_perror:
  39.       * similar to perror, but for the dld error codes.
  40.  
  41. Sat Sep 29 01:01:45 1990  W. Wilson Ho  (how at sundrops)
  42.  
  43.     * finish updating the texinfo manual.
  44.  
  45. Fri Sep 28 17:25:38 1990  W. Wilson Ho  (how at sundrops)
  46.  
  47.     * new file remove.c; new function dld_remove_defined_symbol()
  48.  
  49.     * rename and export:
  50.       executable_flags_up_to_date    -> _dld_exec_flags_valid
  51.       patch_all_files ()        -> _dld_patch_all_files ()
  52.  
  53.     * problem with explicitly defining and referencing symbols:
  54.       * the unlink/garbage collection mechanism is based on the
  55.         assumption that the unit for link and unlink is a module/object
  56.         file.  There is no cross-referencing information in the per
  57.         symbol basis.
  58.       * Solution: don't make any reference link between the dummy
  59.         entry and other entries.  don't touch the reference count of
  60.         the dummy entry.
  61.         
  62.         * when a library module defines a symbol explicitly
  63.           referenced by the user, all connections between this
  64.           symbol and the dummy entry are removed.  This module is
  65.           then treated as if it is explicitly loaded in by the user.
  66.  
  67. Thu Sep 27 20:32:34 1990  W. Wilson Ho  (how at sundrops)
  68.  
  69.     * test/general: new test functions:
  70.       * list-undefined.c, get-sym.c
  71.       * update script to add calls to these new functions
  72.  
  73.     * update Makefile to include the new source files.
  74.  
  75.     * put the following function in a separate file:
  76.       dld_get_func        --> get_func.c
  77.       dld_get_symbol    --> get_symbol.c
  78.  
  79.     * rename and export the following functions:
  80.       getsym_soft() --> _dld_getsym_soft()
  81.       unlink_entry() --> _dld_unlink_entry()
  82.  
  83. Tue Sep 25 00:09:29 1990  W. Wilson Ho  (how at sundrops)
  84.  
  85.     * new dld error code DLD_EBADNTYPE: invalid n_type value.
  86.  
  87.     * dld.h: add declarations for the new functions dld_define() and
  88.       dld_create_reference().
  89.  
  90.     * new file dld_mk_dymmy.c; new function _dld_create_dummy_entry():
  91.       * use internally by dld_create_reference and dld_define to
  92.       create a dummy file_entry to associate with all the "dangling"
  93.       symbols. 
  94.  
  95.     * new file dld_ref.c; new function dld_create_reference():
  96.       * allow explicit reference to a symbol so that the library
  97.         routine defining it can be forced to load.
  98.  
  99.     * new file dld_define.c;new function dld_define():
  100.       * allow explicit definition of a symbol.
  101.       * requires the name, n_type and n_value.
  102.  
  103.     * dld.c: export the following and rename:
  104.       env -> _dld_eny
  105.       latest_entry -> _dld_latest_entry
  106.       xmalloc -> _dld_malloc
  107.       getsym -> _dld_getsym
  108.       enter_global_ref -> _dld_enter_global_ref
  109.  
  110.     * create defs.h to hold all the definition of data structures
  111.       shared among the dld source files.
  112.  
  113.     * add call to setjmp() in all exported dld function (if necessary)
  114.       so that the call to longjmp in fatal() will not fail.
  115.  
  116. Mon Sep 24 12:13:27 1990  W. Wilson Ho  (how at sundrops)
  117.  
  118.     * rewrite the Makefiles.
  119.  
  120. Fri Sep 21 12:35:27 1990  W. Wilson Ho  (how at sundrops)
  121.  
  122.     * reliminate all uses of alloca().  For most parts the change are
  123.       minor, but see "Ugly kludge" in symdef_library().
  124.  
  125. Fri Sep 21 02:52:24 1990  Edgar Roeder  (edgar at megamaster)
  126.  
  127.     * added st_read_header to convert TOS file header to unix style
  128.     file header (requires modified ld to include dbx symbols in TOS
  129.     executables)
  130.  
  131. Thu Sep 20 14:33:26 1990  W. Wilson Ho  (how at sundrops)
  132.  
  133.     * Version 3.2.1.
  134.     
  135.     * rename undefined_global_sym_count to dld_undefined_sym_count.
  136.       Also make this variable global and include its decl. in dld.h.
  137.  
  138.     * new function dld_list_undefined_sym(): returns an array of
  139.       (char *), each of which points to the name of an undefined
  140.       symbols.  This array should be freed by the user.
  141.       (Modified from suggestion by Jan Wielemaker (jan@swi.psy.uva.nl).
  142.  
  143.     * clear all common blocks to zero when they are allocated.
  144.       (Bug reported by Jan Wielemaker).
  145.  
  146.     * subfile_wanted_p(): return 1 also for files that only define
  147.       global variables (commons).
  148.       (Bug reported by Jan Wielemaker).
  149.  
  150. Tue Sep 18 03:59:22 1990  Edgar Roeder  (edgar at megamaster)
  151.  
  152.     * added ABSOLUTE_FILENAME_P predicate and relocation code for the
  153.     Atari ST under TOS (including a consistency check against the
  154.     current basepage).
  155.  
  156. Fri Sep 14 22:16:14 1990  Edgar Roeder  (edgar at megamaster)
  157.  
  158.     * added a separate DLDPATH environment variable in
  159.     dld_find_executable so that users may specify a special path for
  160.     object modules.
  161.  
  162. Fri Sep  7 02:20:38 1990  W. Wilson Ho  (how at sundrops)
  163.  
  164.     * finish dld.texinfo.
  165.  
  166. Fri Aug 24 02:01:08 1990  W. Wilson Ho  (how at iris)
  167.  
  168.     * update the manpages to reflect the changes of function names.
  169.  
  170.     * add new function dld_get_bare_symbol() -- same as dld_get_symbol
  171.     except that no underscore (_) is prepended.
  172.  
  173. Thu Aug 23 00:41:44 1990  W. Wilson Ho  (how at sundrops)
  174.  
  175.     * put in changes to optimize the memory overhead:
  176.       * the nlist array is freed after the required entries (external
  177.         symbol definitions or references) have been inserted into the
  178.         symtab.
  179.       * relocation of local symbol references is done only once.
  180.         Afterwards, only the relocation info of external references
  181.         are saved and the rest is discarded.
  182.       * new structure "dld_reloc_info" is defined.  "file_entry" uses this.
  183.       * loading of text and data segments is moved up frond and done
  184.         in read_file_symbols ().  New function read_text_and_data() is
  185.         added.
  186.       * relocate_entry_symbols () now takes care of relocating local
  187.         references also.  A call to relocate_local_refs() is added.
  188.       * New function: relocate_local_refs().
  189.         Read in the relocation info, perform the relocation by calling
  190.         do_local_relocation(), which also recorded the relocation
  191.         entry for external references.  When these are done, free the
  192.         nlist array.
  193.       * perform_relocation() now works only on the new dld_reloc_info
  194.         structure. 
  195.  
  196. Wed Aug 22 00:11:08 1990  W. Wilson Ho  (how at sundrops)
  197.  
  198.     * remove the field "refs" from defintion of symbol.
  199.       remove the function digest, change enter_global_ref() and
  200.       relocate_symbol_address() so that they modify sp->value directly.
  201.  
  202.     * version 3.2
  203.  
  204.     * rename which() to dld_which().
  205.  
  206.     * rename all extern function to begin with "dld_"
  207.  
  208.     * in dld_init, leave the value of {text,data,bss}_start_address of
  209.     the root module as zero, so that if the root module is unlinked,
  210.     kill_entry will not attempt to free these (invalid) addresses.
  211.  
  212.     * include error handling in dld_init(). (setjmp and clean_up).
  213.  
  214. Tue Aug 21 17:16:08 1990  W. Wilson Ho  (how at sundrops)
  215.  
  216.     * add the already_unlink flag to struct file_entry so that no
  217.       module can be (soft) unlinked twice.
  218.  
  219.     * fix bug in relocate_symbol_address():
  220.       while reading the text and data segments in core, only read in
  221.       a_text+a_data bytes, do not count the a_bss.
  222.       The object file does *not* contain the bss segment, only the
  223.       executing process does.
  224.  
  225. Mon Jun 11 14:24:57 1990  W. Wilson Ho  (how at snowball)
  226.  
  227.     * version 3.1.1.
  228.  
  229.     * rename dld() to dlink()
  230.  
  231. Thu May  3 11:17:53 1990  W. Wilson Ho  (how at iris)
  232.  
  233.     * relocate_symbol_address(): zero the bss segment read in from the
  234.       object files.
  235.  
  236. Tue May  1 20:56:20 1990  W. Wilson Ho  (how at snowball)
  237.  
  238.     * modify get_symbol(), get_func(), unlink_by_symbol() and
  239.       function_executable_p() so tha a '_' is always prepended to the
  240.       given named before lookup.
  241.  
  242.     * modify the test programs to accomodate the above changes.
  243.  
  244. Tue Apr 24 13:25:21 1990  W. Wilson Ho  (how at snowball)
  245.  
  246.     * dld susccessfully ported to sunOS4.0.  However, programs using
  247.       dld cannot be linked with the system's shared library.
  248.  
  249.     * update test/read-a.out.c to take care of sparc's data structure
  250.       of relocation info.
  251.  
  252.     * merge in the relocation function for sparc, only
  253.       perform_relocation needs to be modified.  Also add in the
  254.       RELOC_* macros.
  255.  
  256.     * attempt to port to Sun OS 4.0.  Differences of the two systems
  257.       includes:
  258.  
  259.       <sys/exec.h>:     OS4.0 has two more fields (a_dynamic and
  260.              a_toolversion), both of them can be safely
  261.              ignored.
  262.  
  263.       <sys/nlist.h>: same
  264.  
  265.       <sys/a.out.h>: Compatible between Sun3's running OS3.4 and
  266.              OS4.0.  struct relocation_info is renamed to
  267.              reloc_info_68k in OS4.0, and the unused bits of
  268.              the structure in OS3.4 is now used.  This has no
  269.              effect on dld.
  270.  
  271.              For sparc, structure of reloc_info_sparc is
  272.              different, so is the way that addresses should be
  273.              relocated.  This is not compatible with the
  274.              Sun3's.
  275.  
  276.     * History:
  277.  
  278.       * in this version, add new function function_executable_p() which
  279.         returns true if the given function can be safely executed.
  280.  
  281.